An exponential gradient is a non-linear transition from one color or gray level to another in a graphic image. The rate of transition for the exponential gradient can be described by a function y which is equal to xe where e is greater than 1. The exponential gradient can be used to describe the color change from a first point in the graphic image to a second point in the graphic image where each of the points has an associated color (gray) value. The transition from the first color value at the first point to the second color value at the second point is characterized by the function y=xe.
When a computer graphics system (i.e., a raster image processor) processes an exponential gradient, the non-linear function (y=xe) may be too difficult or time consuming to render. Exponential gradients can be approximated using a series of piece-wise linear segments. Part of the process includes determining a number of stops or stopping segment points for the approximation. Typically, the number of stops is pre-selected (a preset value for all exponential gradients that are processed for a given image) and results in an approximation that includes evenly divided segments. However, if there are too few linear stops, the approximation may be poor. If too many linear stops are created, both space and time will be wasted in the approximation process. Even if the proper number of stops is selected, the even distribution of the stops may likewise produce a poor approximation when a curvature of the original exponential gradient is significantly greater in one region than in another.